﻿using System;
namespace FileBasedObjectRepository
{
    interface IGenericDataStore<T>
    {
        bool DeleteObject(object objToDelete);
        T GetById<T>(long identityFieldValue);
        object GetObjectById(long identityFieldValue);
        System.Collections.Generic.List<T> GetObjects(long startIndex, long length);
        System.Collections.Generic.List<object> Search(object templateObj);
        T Store(T objToAddOrUpdate);
        object StoreObject(object objToAddOrUpdate);
    }
}
